]> dgit.raspbian.org Git - gnome-shell.git/commit
grabHelper: Fix handling of events within the grabbed actor
authorCarlos Garnacho <carlosg@gnome.org>
Mon, 31 Jan 2022 11:16:47 +0000 (12:16 +0100)
committerMarge Bot <marge-bot@gnome.org>
Tue, 1 Feb 2022 14:30:24 +0000 (14:30 +0000)
commite374a4957f52b3fcf351cc009226828f609acd31
tree6cb940d6d09da47c8ea0ac1306c42427831685a1
parentf6edfd503b7f7630c97feb6d9c30d7f0b2984a18
grabHelper: Fix handling of events within the grabbed actor

Commit d92b71d2b2 went overeager in the removal of the additional
actors that were allowed to handle events (since the new grab
infrastructure makes them unable to see events in the first place),
and removed an early return in the captured event handler meant to
let events go through in those cases.

Since the grabbing actor was also part of this group, this was also
the code path where child actors of the grabbing actor could handle
events. Removing these made the captured event handler eat most
events meant for children. Add this check back, specifically for the
grabbing actor.

While at it, explicitly check (and propagate) crossing events,
since these are now enforced to be propagated (and warned about) in
Mutter.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4991
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2140>
js/ui/grabHelper.js